{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import gym\n",
    "import numpy as np\n",
    "import sys\n",
    "import time\n",
    "import pandas as pd\n",
    "import matplotlib\n",
    "from collections import defaultdict, namedtuple\n",
    "\n",
    "%matplotlib inline\n",
    "matplotlib.style.use('ggplot')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[33mWARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.\u001b[0m\n"
     ]
    }
   ],
   "source": [
    "env = gym.make(\"CartPole-v0\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode finished after 9 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 9 timesteps\n",
      " Episode 10 in 1000\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 18 timesteps\n",
      "Episode finished after 17 timesteps\n",
      "Episode finished after 13 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 7 timesteps\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 37 timesteps\n",
      " Episode 20 in 1000\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 14 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 39 timesteps\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 9 timesteps\n",
      " Episode 30 in 1000\n",
      "Episode finished after 12 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 10 timesteps\n",
      "Episode finished after 42 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 10 timesteps\n",
      "Episode finished after 52 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 9 timesteps\n",
      " Episode 40 in 1000\n",
      "Episode finished after 14 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 10 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 27 timesteps\n",
      "Episode finished after 45 timesteps\n",
      "Episode finished after 10 timesteps\n",
      " Episode 50 in 1000\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 14 timesteps\n",
      "Episode finished after 10 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 12 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 9 timesteps\n",
      " Episode 60 in 1000\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 10 timesteps\n",
      "Episode finished after 10 timesteps\n",
      "Episode finished after 13 timesteps\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 17 timesteps\n",
      "Episode finished after 12 timesteps\n",
      " Episode 70 in 1000\n",
      "Episode finished after 19 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 12 timesteps\n",
      "Episode finished after 43 timesteps\n",
      "Episode finished after 12 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 61 timesteps\n",
      "Episode finished after 38 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 11 timesteps\n",
      " Episode 80 in 1000\n",
      "Episode finished after 16 timesteps\n",
      "Episode finished after 14 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 28 timesteps\n",
      "Episode finished after 26 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 47 timesteps\n",
      "Episode finished after 17 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 34 timesteps\n",
      " Episode 90 in 1000\n",
      "Episode finished after 28 timesteps\n",
      "Episode finished after 12 timesteps\n",
      "Episode finished after 17 timesteps\n",
      "Episode finished after 112 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 10 timesteps\n",
      "Episode finished after 16 timesteps\n",
      "Episode finished after 42 timesteps\n",
      "Episode finished after 47 timesteps\n",
      "Episode finished after 42 timesteps\n",
      " Episode 100 in 1000\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 64 timesteps\n",
      "Episode finished after 39 timesteps\n",
      "Episode finished after 84 timesteps\n",
      "Episode finished after 103 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 28 timesteps\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 44 timesteps\n",
      " Episode 110 in 1000\n",
      "Episode finished after 62 timesteps\n",
      "Episode finished after 28 timesteps\n",
      "Episode finished after 103 timesteps\n",
      "Episode finished after 98 timesteps\n",
      "Episode finished after 76 timesteps\n",
      "Episode finished after 26 timesteps\n",
      "Episode finished after 55 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 38 timesteps\n",
      "Episode finished after 37 timesteps\n",
      " Episode 120 in 1000\n",
      "Episode finished after 13 timesteps\n",
      "Episode finished after 42 timesteps\n",
      "Episode finished after 35 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 39 timesteps\n",
      "Episode finished after 40 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 79 timesteps\n",
      "Episode finished after 46 timesteps\n",
      "Episode finished after 103 timesteps\n",
      " Episode 130 in 1000\n",
      "Episode finished after 102 timesteps\n",
      "Episode finished after 32 timesteps\n",
      "Episode finished after 32 timesteps\n",
      "Episode finished after 24 timesteps\n",
      "Episode finished after 82 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 40 timesteps\n",
      "Episode finished after 41 timesteps\n",
      "Episode finished after 62 timesteps\n",
      " Episode 140 in 1000\n",
      "Episode finished after 95 timesteps\n",
      "Episode finished after 85 timesteps\n",
      "Episode finished after 94 timesteps\n",
      "Episode finished after 156 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 64 timesteps\n",
      "Episode finished after 79 timesteps\n",
      "Episode finished after 80 timesteps\n",
      "Episode finished after 85 timesteps\n",
      "Episode finished after 60 timesteps\n",
      " Episode 150 in 1000\n",
      "Episode finished after 82 timesteps\n",
      "Episode finished after 189 timesteps\n",
      "Episode finished after 52 timesteps\n",
      "Episode finished after 138 timesteps\n",
      "Episode finished after 56 timesteps\n",
      "Episode finished after 92 timesteps\n",
      "Episode finished after 136 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 114 timesteps\n",
      "Episode finished after 83 timesteps\n",
      " Episode 160 in 1000\n",
      "Episode finished after 58 timesteps\n",
      "Episode finished after 95 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 10 timesteps\n",
      "Episode finished after 37 timesteps\n",
      "Episode finished after 85 timesteps\n",
      "Episode finished after 80 timesteps\n",
      "Episode finished after 146 timesteps\n",
      "Episode finished after 70 timesteps\n",
      "Episode finished after 19 timesteps\n",
      " Episode 170 in 1000\n",
      "Episode finished after 41 timesteps\n",
      "Episode finished after 95 timesteps\n",
      "Episode finished after 47 timesteps\n",
      "Episode finished after 64 timesteps\n",
      "Episode finished after 73 timesteps\n",
      "Episode finished after 154 timesteps\n",
      "Episode finished after 98 timesteps\n",
      "Episode finished after 67 timesteps\n",
      "Episode finished after 80 timesteps\n",
      "Episode finished after 199 timesteps\n",
      " Episode 180 in 1000\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 124 timesteps\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 76 timesteps\n",
      "Episode finished after 49 timesteps\n",
      "Episode finished after 17 timesteps\n",
      "Episode finished after 51 timesteps\n",
      "Episode finished after 54 timesteps\n",
      "Episode finished after 57 timesteps\n",
      "Episode finished after 25 timesteps\n",
      " Episode 190 in 1000\n",
      "Episode finished after 112 timesteps\n",
      "Episode finished after 53 timesteps\n",
      "Episode finished after 152 timesteps\n",
      "Episode finished after 81 timesteps\n",
      "Episode finished after 84 timesteps\n",
      "Episode finished after 105 timesteps\n",
      "Episode finished after 50 timesteps\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 101 timesteps\n",
      "Episode finished after 71 timesteps\n",
      " Episode 200 in 1000\n",
      "Episode finished after 100 timesteps\n",
      "Episode finished after 73 timesteps\n",
      "Episode finished after 49 timesteps\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 26 timesteps\n",
      "Episode finished after 61 timesteps\n",
      "Episode finished after 51 timesteps\n",
      "Episode finished after 37 timesteps\n",
      "Episode finished after 80 timesteps\n",
      "Episode finished after 27 timesteps\n",
      " Episode 210 in 1000\n",
      "Episode finished after 28 timesteps\n",
      "Episode finished after 71 timesteps\n",
      "Episode finished after 17 timesteps\n",
      "Episode finished after 19 timesteps\n",
      "Episode finished after 49 timesteps\n",
      "Episode finished after 50 timesteps\n",
      "Episode finished after 114 timesteps\n",
      "Episode finished after 50 timesteps\n",
      "Episode finished after 14 timesteps\n",
      "Episode finished after 30 timesteps\n",
      " Episode 220 in 1000\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode finished after 86 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 138 timesteps\n",
      "Episode finished after 29 timesteps\n",
      "Episode finished after 28 timesteps\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 77 timesteps\n",
      "Episode finished after 65 timesteps\n",
      "Episode finished after 94 timesteps\n",
      "Episode finished after 18 timesteps\n",
      " Episode 230 in 1000\n",
      "Episode finished after 36 timesteps\n",
      "Episode finished after 43 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 117 timesteps\n",
      "Episode finished after 43 timesteps\n",
      "Episode finished after 66 timesteps\n",
      "Episode finished after 29 timesteps\n",
      "Episode finished after 12 timesteps\n",
      "Episode finished after 27 timesteps\n",
      "Episode finished after 81 timesteps\n",
      " Episode 240 in 1000\n",
      "Episode finished after 49 timesteps\n",
      "Episode finished after 37 timesteps\n",
      "Episode finished after 76 timesteps\n",
      "Episode finished after 155 timesteps\n",
      "Episode finished after 12 timesteps\n",
      "Episode finished after 105 timesteps\n",
      "Episode finished after 161 timesteps\n",
      "Episode finished after 76 timesteps\n",
      "Episode finished after 18 timesteps\n",
      "Episode finished after 14 timesteps\n",
      " Episode 250 in 1000\n",
      "Episode finished after 51 timesteps\n",
      "Episode finished after 16 timesteps\n",
      "Episode finished after 65 timesteps\n",
      "Episode finished after 53 timesteps\n",
      "Episode finished after 94 timesteps\n",
      "Episode finished after 60 timesteps\n",
      "Episode finished after 139 timesteps\n",
      "Episode finished after 102 timesteps\n",
      "Episode finished after 187 timesteps\n",
      "Episode finished after 146 timesteps\n",
      " Episode 260 in 1000\n",
      "Episode finished after 144 timesteps\n",
      "Episode finished after 103 timesteps\n",
      "Episode finished after 96 timesteps\n",
      "Episode finished after 47 timesteps\n",
      "Episode finished after 83 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 88 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 38 timesteps\n",
      "Episode finished after 90 timesteps\n",
      " Episode 270 in 1000\n",
      "Episode finished after 36 timesteps\n",
      "Episode finished after 65 timesteps\n",
      "Episode finished after 52 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 122 timesteps\n",
      "Episode finished after 46 timesteps\n",
      "Episode finished after 32 timesteps\n",
      "Episode finished after 84 timesteps\n",
      "Episode finished after 37 timesteps\n",
      "Episode finished after 49 timesteps\n",
      " Episode 280 in 1000\n",
      "Episode finished after 83 timesteps\n",
      "Episode finished after 51 timesteps\n",
      "Episode finished after 48 timesteps\n",
      "Episode finished after 44 timesteps\n",
      "Episode finished after 26 timesteps\n",
      "Episode finished after 60 timesteps\n",
      "Episode finished after 58 timesteps\n",
      "Episode finished after 119 timesteps\n",
      "Episode finished after 124 timesteps\n",
      "Episode finished after 172 timesteps\n",
      " Episode 290 in 1000\n",
      "Episode finished after 83 timesteps\n",
      "Episode finished after 24 timesteps\n",
      "Episode finished after 31 timesteps\n",
      "Episode finished after 81 timesteps\n",
      "Episode finished after 82 timesteps\n",
      "Episode finished after 16 timesteps\n",
      "Episode finished after 30 timesteps\n",
      "Episode finished after 51 timesteps\n",
      "Episode finished after 69 timesteps\n",
      "Episode finished after 36 timesteps\n",
      " Episode 300 in 1000\n",
      "Episode finished after 73 timesteps\n",
      "Episode finished after 25 timesteps\n",
      "Episode finished after 26 timesteps\n",
      "Episode finished after 54 timesteps\n",
      "Episode finished after 76 timesteps\n",
      "Episode finished after 87 timesteps\n",
      "Episode finished after 40 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 48 timesteps\n",
      "Episode finished after 83 timesteps\n",
      " Episode 310 in 1000\n",
      "Episode finished after 56 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 189 timesteps\n",
      "Episode finished after 13 timesteps\n",
      "Episode finished after 18 timesteps\n",
      "Episode finished after 150 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 29 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 194 timesteps\n",
      " Episode 320 in 1000\n",
      "Episode finished after 112 timesteps\n",
      "Episode finished after 78 timesteps\n",
      "Episode finished after 30 timesteps\n",
      "Episode finished after 134 timesteps\n",
      "Episode finished after 127 timesteps\n",
      "Episode finished after 72 timesteps\n",
      "Episode finished after 39 timesteps\n",
      "Episode finished after 106 timesteps\n",
      "Episode finished after 22 timesteps\n",
      "Episode finished after 23 timesteps\n",
      " Episode 330 in 1000\n",
      "Episode finished after 95 timesteps\n",
      "Episode finished after 35 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 54 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 44 timesteps\n",
      "Episode finished after 110 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 18 timesteps\n",
      " Episode 340 in 1000\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 41 timesteps\n",
      "Episode finished after 194 timesteps\n",
      "Episode finished after 35 timesteps\n",
      "Episode finished after 32 timesteps\n",
      "Episode finished after 117 timesteps\n",
      "Episode finished after 38 timesteps\n",
      "Episode finished after 49 timesteps\n",
      "Episode finished after 85 timesteps\n",
      " Episode 350 in 1000\n",
      "Episode finished after 151 timesteps\n",
      "Episode finished after 90 timesteps\n",
      "Episode finished after 113 timesteps\n",
      "Episode finished after 88 timesteps\n",
      "Episode finished after 61 timesteps\n",
      "Episode finished after 10 timesteps\n",
      "Episode finished after 151 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 62 timesteps\n",
      " Episode 360 in 1000\n",
      "Episode finished after 43 timesteps\n",
      "Episode finished after 86 timesteps\n",
      "Episode finished after 24 timesteps\n",
      "Episode finished after 77 timesteps\n",
      "Episode finished after 163 timesteps\n",
      "Episode finished after 47 timesteps\n",
      "Episode finished after 94 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 63 timesteps\n",
      "Episode finished after 10 timesteps\n",
      " Episode 370 in 1000\n",
      "Episode finished after 118 timesteps\n",
      "Episode finished after 136 timesteps\n",
      "Episode finished after 53 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 88 timesteps\n",
      "Episode finished after 154 timesteps\n",
      "Episode finished after 143 timesteps\n",
      "Episode finished after 90 timesteps\n",
      "Episode finished after 194 timesteps\n",
      "Episode finished after 53 timesteps\n",
      " Episode 380 in 1000\n",
      "Episode finished after 49 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 109 timesteps\n",
      "Episode finished after 72 timesteps\n",
      "Episode finished after 54 timesteps\n",
      "Episode finished after 84 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 27 timesteps\n",
      "Episode finished after 20 timesteps\n",
      " Episode 390 in 1000\n",
      "Episode finished after 40 timesteps\n",
      "Episode finished after 81 timesteps\n",
      "Episode finished after 26 timesteps\n",
      "Episode finished after 53 timesteps\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 73 timesteps\n",
      "Episode finished after 64 timesteps\n",
      "Episode finished after 46 timesteps\n",
      "Episode finished after 74 timesteps\n",
      "Episode finished after 93 timesteps\n",
      " Episode 400 in 1000\n",
      "Episode finished after 53 timesteps\n",
      "Episode finished after 26 timesteps\n",
      "Episode finished after 18 timesteps\n",
      "Episode finished after 18 timesteps\n",
      "Episode finished after 43 timesteps\n",
      "Episode finished after 92 timesteps\n",
      "Episode finished after 39 timesteps\n",
      "Episode finished after 37 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 199 timesteps\n",
      " Episode 410 in 1000\n",
      "Episode finished after 58 timesteps\n",
      "Episode finished after 113 timesteps\n",
      "Episode finished after 104 timesteps\n",
      "Episode finished after 13 timesteps\n",
      "Episode finished after 90 timesteps\n",
      "Episode finished after 95 timesteps\n",
      "Episode finished after 25 timesteps\n",
      "Episode finished after 56 timesteps\n",
      "Episode finished after 17 timesteps\n",
      "Episode finished after 83 timesteps\n",
      " Episode 420 in 1000\n",
      "Episode finished after 70 timesteps\n",
      "Episode finished after 153 timesteps\n",
      "Episode finished after 35 timesteps\n",
      "Episode finished after 65 timesteps\n",
      "Episode finished after 48 timesteps\n",
      "Episode finished after 140 timesteps\n",
      "Episode finished after 42 timesteps\n",
      "Episode finished after 181 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 21 timesteps\n",
      " Episode 430 in 1000\n",
      "Episode finished after 136 timesteps\n",
      "Episode finished after 83 timesteps\n",
      "Episode finished after 40 timesteps\n",
      "Episode finished after 30 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 93 timesteps\n",
      "Episode finished after 45 timesteps\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode finished after 24 timesteps\n",
      "Episode finished after 66 timesteps\n",
      "Episode finished after 22 timesteps\n",
      " Episode 440 in 1000\n",
      "Episode finished after 106 timesteps\n",
      "Episode finished after 22 timesteps\n",
      "Episode finished after 7 timesteps\n",
      "Episode finished after 39 timesteps\n",
      "Episode finished after 119 timesteps\n",
      "Episode finished after 91 timesteps\n",
      "Episode finished after 166 timesteps\n",
      "Episode finished after 77 timesteps\n",
      "Episode finished after 36 timesteps\n",
      "Episode finished after 136 timesteps\n",
      " Episode 450 in 1000\n",
      "Episode finished after 168 timesteps\n",
      "Episode finished after 80 timesteps\n",
      "Episode finished after 24 timesteps\n",
      "Episode finished after 13 timesteps\n",
      "Episode finished after 46 timesteps\n",
      "Episode finished after 80 timesteps\n",
      "Episode finished after 74 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 101 timesteps\n",
      "Episode finished after 11 timesteps\n",
      " Episode 460 in 1000\n",
      "Episode finished after 66 timesteps\n",
      "Episode finished after 81 timesteps\n",
      "Episode finished after 47 timesteps\n",
      "Episode finished after 196 timesteps\n",
      "Episode finished after 57 timesteps\n",
      "Episode finished after 179 timesteps\n",
      "Episode finished after 144 timesteps\n",
      "Episode finished after 40 timesteps\n",
      "Episode finished after 101 timesteps\n",
      "Episode finished after 48 timesteps\n",
      " Episode 470 in 1000\n",
      "Episode finished after 74 timesteps\n",
      "Episode finished after 45 timesteps\n",
      "Episode finished after 17 timesteps\n",
      "Episode finished after 73 timesteps\n",
      "Episode finished after 84 timesteps\n",
      "Episode finished after 25 timesteps\n",
      "Episode finished after 57 timesteps\n",
      "Episode finished after 82 timesteps\n",
      "Episode finished after 107 timesteps\n",
      "Episode finished after 25 timesteps\n",
      " Episode 480 in 1000\n",
      "Episode finished after 152 timesteps\n",
      "Episode finished after 63 timesteps\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 25 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 40 timesteps\n",
      "Episode finished after 54 timesteps\n",
      "Episode finished after 166 timesteps\n",
      "Episode finished after 114 timesteps\n",
      " Episode 490 in 1000\n",
      "Episode finished after 74 timesteps\n",
      "Episode finished after 45 timesteps\n",
      "Episode finished after 42 timesteps\n",
      "Episode finished after 47 timesteps\n",
      "Episode finished after 22 timesteps\n",
      "Episode finished after 110 timesteps\n",
      "Episode finished after 47 timesteps\n",
      "Episode finished after 97 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 28 timesteps\n",
      " Episode 500 in 1000\n",
      "Episode finished after 49 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 14 timesteps\n",
      "Episode finished after 27 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 39 timesteps\n",
      "Episode finished after 113 timesteps\n",
      "Episode finished after 61 timesteps\n",
      "Episode finished after 27 timesteps\n",
      "Episode finished after 106 timesteps\n",
      " Episode 510 in 1000\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 103 timesteps\n",
      "Episode finished after 72 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 127 timesteps\n",
      "Episode finished after 31 timesteps\n",
      "Episode finished after 70 timesteps\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 63 timesteps\n",
      " Episode 520 in 1000\n",
      "Episode finished after 95 timesteps\n",
      "Episode finished after 160 timesteps\n",
      "Episode finished after 173 timesteps\n",
      "Episode finished after 28 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 36 timesteps\n",
      "Episode finished after 67 timesteps\n",
      "Episode finished after 12 timesteps\n",
      "Episode finished after 131 timesteps\n",
      "Episode finished after 78 timesteps\n",
      " Episode 530 in 1000\n",
      "Episode finished after 94 timesteps\n",
      "Episode finished after 38 timesteps\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 81 timesteps\n",
      "Episode finished after 56 timesteps\n",
      "Episode finished after 36 timesteps\n",
      "Episode finished after 17 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 51 timesteps\n",
      "Episode finished after 27 timesteps\n",
      " Episode 540 in 1000\n",
      "Episode finished after 26 timesteps\n",
      "Episode finished after 153 timesteps\n",
      "Episode finished after 9 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 65 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 140 timesteps\n",
      "Episode finished after 39 timesteps\n",
      "Episode finished after 124 timesteps\n",
      " Episode 550 in 1000\n",
      "Episode finished after 62 timesteps\n",
      "Episode finished after 81 timesteps\n",
      "Episode finished after 47 timesteps\n",
      "Episode finished after 84 timesteps\n",
      "Episode finished after 24 timesteps\n",
      "Episode finished after 14 timesteps\n",
      "Episode finished after 186 timesteps\n",
      "Episode finished after 16 timesteps\n",
      "Episode finished after 46 timesteps\n",
      "Episode finished after 135 timesteps\n",
      " Episode 560 in 1000\n",
      "Episode finished after 143 timesteps\n",
      "Episode finished after 50 timesteps\n",
      "Episode finished after 44 timesteps\n",
      "Episode finished after 104 timesteps\n",
      "Episode finished after 63 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 90 timesteps\n",
      "Episode finished after 172 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 21 timesteps\n",
      " Episode 570 in 1000\n",
      "Episode finished after 94 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 70 timesteps\n",
      "Episode finished after 31 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 144 timesteps\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 102 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 18 timesteps\n",
      " Episode 580 in 1000\n",
      "Episode finished after 82 timesteps\n",
      "Episode finished after 112 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 79 timesteps\n",
      "Episode finished after 76 timesteps\n",
      "Episode finished after 44 timesteps\n",
      "Episode finished after 67 timesteps\n",
      "Episode finished after 72 timesteps\n",
      "Episode finished after 82 timesteps\n",
      "Episode finished after 101 timesteps\n",
      " Episode 590 in 1000\n",
      "Episode finished after 54 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 74 timesteps\n",
      "Episode finished after 59 timesteps\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 24 timesteps\n",
      "Episode finished after 62 timesteps\n",
      "Episode finished after 40 timesteps\n",
      "Episode finished after 40 timesteps\n",
      "Episode finished after 23 timesteps\n",
      " Episode 600 in 1000\n",
      "Episode finished after 40 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 91 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 85 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 108 timesteps\n",
      "Episode finished after 88 timesteps\n",
      "Episode finished after 81 timesteps\n",
      "Episode finished after 93 timesteps\n",
      " Episode 610 in 1000\n",
      "Episode finished after 118 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 62 timesteps\n",
      "Episode finished after 25 timesteps\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 12 timesteps\n",
      "Episode finished after 19 timesteps\n",
      "Episode finished after 16 timesteps\n",
      "Episode finished after 38 timesteps\n",
      "Episode finished after 80 timesteps\n",
      " Episode 620 in 1000\n",
      "Episode finished after 53 timesteps\n",
      "Episode finished after 64 timesteps\n",
      "Episode finished after 57 timesteps\n",
      "Episode finished after 64 timesteps\n",
      "Episode finished after 61 timesteps\n",
      "Episode finished after 158 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 113 timesteps\n",
      "Episode finished after 100 timesteps\n",
      "Episode finished after 65 timesteps\n",
      " Episode 630 in 1000\n",
      "Episode finished after 117 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 135 timesteps\n",
      "Episode finished after 123 timesteps\n",
      "Episode finished after 98 timesteps\n",
      "Episode finished after 50 timesteps\n",
      "Episode finished after 41 timesteps\n",
      "Episode finished after 30 timesteps\n",
      "Episode finished after 47 timesteps\n",
      "Episode finished after 31 timesteps\n",
      " Episode 640 in 1000\n",
      "Episode finished after 61 timesteps\n",
      "Episode finished after 136 timesteps\n",
      "Episode finished after 175 timesteps\n",
      "Episode finished after 152 timesteps\n",
      "Episode finished after 124 timesteps\n",
      "Episode finished after 70 timesteps\n",
      "Episode finished after 29 timesteps\n",
      "Episode finished after 134 timesteps\n",
      "Episode finished after 37 timesteps\n",
      "Episode finished after 82 timesteps\n",
      " Episode 650 in 1000\n",
      "Episode finished after 87 timesteps\n",
      "Episode finished after 133 timesteps\n",
      "Episode finished after 41 timesteps\n",
      "Episode finished after 89 timesteps\n",
      "Episode finished after 155 timesteps\n",
      "Episode finished after 50 timesteps\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode finished after 127 timesteps\n",
      "Episode finished after 147 timesteps\n",
      "Episode finished after 72 timesteps\n",
      "Episode finished after 33 timesteps\n",
      " Episode 660 in 1000\n",
      "Episode finished after 48 timesteps\n",
      "Episode finished after 46 timesteps\n",
      "Episode finished after 43 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 118 timesteps\n",
      "Episode finished after 67 timesteps\n",
      "Episode finished after 103 timesteps\n",
      "Episode finished after 75 timesteps\n",
      "Episode finished after 90 timesteps\n",
      "Episode finished after 32 timesteps\n",
      " Episode 670 in 1000\n",
      "Episode finished after 61 timesteps\n",
      "Episode finished after 36 timesteps\n",
      "Episode finished after 42 timesteps\n",
      "Episode finished after 102 timesteps\n",
      "Episode finished after 44 timesteps\n",
      "Episode finished after 14 timesteps\n",
      "Episode finished after 12 timesteps\n",
      "Episode finished after 37 timesteps\n",
      "Episode finished after 18 timesteps\n",
      "Episode finished after 18 timesteps\n",
      " Episode 680 in 1000\n",
      "Episode finished after 31 timesteps\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 18 timesteps\n",
      "Episode finished after 136 timesteps\n",
      "Episode finished after 81 timesteps\n",
      "Episode finished after 187 timesteps\n",
      "Episode finished after 27 timesteps\n",
      "Episode finished after 18 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 199 timesteps\n",
      " Episode 690 in 1000\n",
      "Episode finished after 142 timesteps\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 19 timesteps\n",
      "Episode finished after 28 timesteps\n",
      "Episode finished after 103 timesteps\n",
      "Episode finished after 55 timesteps\n",
      "Episode finished after 10 timesteps\n",
      "Episode finished after 48 timesteps\n",
      "Episode finished after 105 timesteps\n",
      "Episode finished after 119 timesteps\n",
      " Episode 700 in 1000\n",
      "Episode finished after 8 timesteps\n",
      "Episode finished after 151 timesteps\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 65 timesteps\n",
      "Episode finished after 99 timesteps\n",
      "Episode finished after 111 timesteps\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 74 timesteps\n",
      " Episode 710 in 1000\n",
      "Episode finished after 19 timesteps\n",
      "Episode finished after 24 timesteps\n",
      "Episode finished after 24 timesteps\n",
      "Episode finished after 43 timesteps\n",
      "Episode finished after 85 timesteps\n",
      "Episode finished after 56 timesteps\n",
      "Episode finished after 156 timesteps\n",
      "Episode finished after 122 timesteps\n",
      "Episode finished after 64 timesteps\n",
      "Episode finished after 87 timesteps\n",
      " Episode 720 in 1000\n",
      "Episode finished after 46 timesteps\n",
      "Episode finished after 59 timesteps\n",
      "Episode finished after 169 timesteps\n",
      "Episode finished after 60 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 79 timesteps\n",
      "Episode finished after 53 timesteps\n",
      "Episode finished after 77 timesteps\n",
      "Episode finished after 22 timesteps\n",
      "Episode finished after 64 timesteps\n",
      " Episode 730 in 1000\n",
      "Episode finished after 144 timesteps\n",
      "Episode finished after 31 timesteps\n",
      "Episode finished after 35 timesteps\n",
      "Episode finished after 12 timesteps\n",
      "Episode finished after 18 timesteps\n",
      "Episode finished after 16 timesteps\n",
      "Episode finished after 39 timesteps\n",
      "Episode finished after 191 timesteps\n",
      "Episode finished after 18 timesteps\n",
      "Episode finished after 90 timesteps\n",
      " Episode 740 in 1000\n",
      "Episode finished after 106 timesteps\n",
      "Episode finished after 197 timesteps\n",
      "Episode finished after 118 timesteps\n",
      "Episode finished after 89 timesteps\n",
      "Episode finished after 29 timesteps\n",
      "Episode finished after 47 timesteps\n",
      "Episode finished after 62 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 89 timesteps\n",
      "Episode finished after 79 timesteps\n",
      " Episode 750 in 1000\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 55 timesteps\n",
      "Episode finished after 62 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 91 timesteps\n",
      "Episode finished after 31 timesteps\n",
      "Episode finished after 35 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 32 timesteps\n",
      "Episode finished after 21 timesteps\n",
      " Episode 760 in 1000\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 114 timesteps\n",
      "Episode finished after 46 timesteps\n",
      "Episode finished after 31 timesteps\n",
      "Episode finished after 78 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 19 timesteps\n",
      "Episode finished after 26 timesteps\n",
      " Episode 770 in 1000\n",
      "Episode finished after 153 timesteps\n",
      "Episode finished after 76 timesteps\n",
      "Episode finished after 44 timesteps\n",
      "Episode finished after 63 timesteps\n",
      "Episode finished after 59 timesteps\n",
      "Episode finished after 59 timesteps\n",
      "Episode finished after 120 timesteps\n",
      "Episode finished after 112 timesteps\n",
      "Episode finished after 115 timesteps\n",
      "Episode finished after 73 timesteps\n",
      " Episode 780 in 1000\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 30 timesteps\n",
      "Episode finished after 55 timesteps\n",
      "Episode finished after 52 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 98 timesteps\n",
      "Episode finished after 31 timesteps\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 35 timesteps\n",
      " Episode 790 in 1000\n",
      "Episode finished after 49 timesteps\n",
      "Episode finished after 107 timesteps\n",
      "Episode finished after 53 timesteps\n",
      "Episode finished after 36 timesteps\n",
      "Episode finished after 56 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 28 timesteps\n",
      "Episode finished after 19 timesteps\n",
      "Episode finished after 76 timesteps\n",
      "Episode finished after 23 timesteps\n",
      " Episode 800 in 1000\n",
      "Episode finished after 54 timesteps\n",
      "Episode finished after 134 timesteps\n",
      "Episode finished after 62 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 102 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 164 timesteps\n",
      "Episode finished after 113 timesteps\n",
      "Episode finished after 42 timesteps\n",
      " Episode 810 in 1000\n",
      "Episode finished after 43 timesteps\n",
      "Episode finished after 117 timesteps\n",
      "Episode finished after 56 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 47 timesteps\n",
      "Episode finished after 166 timesteps\n",
      "Episode finished after 79 timesteps\n",
      "Episode finished after 59 timesteps\n",
      "Episode finished after 105 timesteps\n",
      "Episode finished after 149 timesteps\n",
      " Episode 820 in 1000\n",
      "Episode finished after 97 timesteps\n",
      "Episode finished after 85 timesteps\n",
      "Episode finished after 24 timesteps\n",
      "Episode finished after 109 timesteps\n",
      "Episode finished after 148 timesteps\n",
      "Episode finished after 125 timesteps\n",
      "Episode finished after 105 timesteps\n",
      "Episode finished after 29 timesteps\n",
      "Episode finished after 66 timesteps\n",
      "Episode finished after 18 timesteps\n",
      " Episode 830 in 1000\n",
      "Episode finished after 97 timesteps\n",
      "Episode finished after 58 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 49 timesteps\n",
      "Episode finished after 179 timesteps\n",
      "Episode finished after 16 timesteps\n",
      "Episode finished after 16 timesteps\n",
      "Episode finished after 127 timesteps\n",
      "Episode finished after 117 timesteps\n",
      "Episode finished after 120 timesteps\n",
      " Episode 840 in 1000\n",
      "Episode finished after 63 timesteps\n",
      "Episode finished after 13 timesteps\n",
      "Episode finished after 70 timesteps\n",
      "Episode finished after 80 timesteps\n",
      "Episode finished after 13 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 69 timesteps\n",
      "Episode finished after 93 timesteps\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 75 timesteps\n",
      " Episode 850 in 1000\n",
      "Episode finished after 93 timesteps\n",
      "Episode finished after 182 timesteps\n",
      "Episode finished after 92 timesteps\n",
      "Episode finished after 52 timesteps\n",
      "Episode finished after 42 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 51 timesteps\n",
      "Episode finished after 157 timesteps\n",
      "Episode finished after 42 timesteps\n",
      " Episode 860 in 1000\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 104 timesteps\n",
      "Episode finished after 88 timesteps\n",
      "Episode finished after 77 timesteps\n",
      "Episode finished after 190 timesteps\n",
      "Episode finished after 46 timesteps\n",
      "Episode finished after 19 timesteps\n",
      "Episode finished after 22 timesteps\n",
      "Episode finished after 21 timesteps\n",
      "Episode finished after 11 timesteps\n",
      " Episode 870 in 1000\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode finished after 140 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 99 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 86 timesteps\n",
      "Episode finished after 101 timesteps\n",
      "Episode finished after 29 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 39 timesteps\n",
      " Episode 880 in 1000\n",
      "Episode finished after 38 timesteps\n",
      "Episode finished after 45 timesteps\n",
      "Episode finished after 30 timesteps\n",
      "Episode finished after 37 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 57 timesteps\n",
      "Episode finished after 53 timesteps\n",
      "Episode finished after 61 timesteps\n",
      "Episode finished after 164 timesteps\n",
      "Episode finished after 125 timesteps\n",
      " Episode 890 in 1000\n",
      "Episode finished after 45 timesteps\n",
      "Episode finished after 43 timesteps\n",
      "Episode finished after 39 timesteps\n",
      "Episode finished after 27 timesteps\n",
      "Episode finished after 42 timesteps\n",
      "Episode finished after 67 timesteps\n",
      "Episode finished after 52 timesteps\n",
      "Episode finished after 15 timesteps\n",
      "Episode finished after 31 timesteps\n",
      "Episode finished after 61 timesteps\n",
      " Episode 900 in 1000\n",
      "Episode finished after 70 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 78 timesteps\n",
      "Episode finished after 91 timesteps\n",
      "Episode finished after 30 timesteps\n",
      "Episode finished after 112 timesteps\n",
      "Episode finished after 84 timesteps\n",
      "Episode finished after 129 timesteps\n",
      "Episode finished after 27 timesteps\n",
      "Episode finished after 20 timesteps\n",
      " Episode 910 in 1000\n",
      "Episode finished after 18 timesteps\n",
      "Episode finished after 188 timesteps\n",
      "Episode finished after 60 timesteps\n",
      "Episode finished after 100 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 73 timesteps\n",
      "Episode finished after 127 timesteps\n",
      "Episode finished after 60 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 125 timesteps\n",
      " Episode 920 in 1000\n",
      "Episode finished after 155 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 99 timesteps\n",
      "Episode finished after 58 timesteps\n",
      "Episode finished after 83 timesteps\n",
      "Episode finished after 101 timesteps\n",
      "Episode finished after 30 timesteps\n",
      "Episode finished after 13 timesteps\n",
      "Episode finished after 16 timesteps\n",
      "Episode finished after 27 timesteps\n",
      " Episode 930 in 1000\n",
      "Episode finished after 18 timesteps\n",
      "Episode finished after 60 timesteps\n",
      "Episode finished after 68 timesteps\n",
      "Episode finished after 63 timesteps\n",
      "Episode finished after 84 timesteps\n",
      "Episode finished after 86 timesteps\n",
      "Episode finished after 99 timesteps\n",
      "Episode finished after 84 timesteps\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 76 timesteps\n",
      " Episode 940 in 1000\n",
      "Episode finished after 122 timesteps\n",
      "Episode finished after 43 timesteps\n",
      "Episode finished after 77 timesteps\n",
      "Episode finished after 120 timesteps\n",
      "Episode finished after 146 timesteps\n",
      "Episode finished after 108 timesteps\n",
      "Episode finished after 37 timesteps\n",
      "Episode finished after 100 timesteps\n",
      "Episode finished after 23 timesteps\n",
      "Episode finished after 82 timesteps\n",
      " Episode 950 in 1000\n",
      "Episode finished after 20 timesteps\n",
      "Episode finished after 95 timesteps\n",
      "Episode finished after 101 timesteps\n",
      "Episode finished after 108 timesteps\n",
      "Episode finished after 34 timesteps\n",
      "Episode finished after 62 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 106 timesteps\n",
      "Episode finished after 35 timesteps\n",
      "Episode finished after 67 timesteps\n",
      " Episode 960 in 1000\n",
      "Episode finished after 125 timesteps\n",
      "Episode finished after 80 timesteps\n",
      "Episode finished after 60 timesteps\n",
      "Episode finished after 24 timesteps\n",
      "Episode finished after 157 timesteps\n",
      "Episode finished after 191 timesteps\n",
      "Episode finished after 82 timesteps\n",
      "Episode finished after 83 timesteps\n",
      "Episode finished after 76 timesteps\n",
      "Episode finished after 138 timesteps\n",
      " Episode 970 in 1000\n",
      "Episode finished after 43 timesteps\n",
      "Episode finished after 98 timesteps\n",
      "Episode finished after 199 timesteps\n",
      "Episode finished after 72 timesteps\n",
      "Episode finished after 63 timesteps\n",
      "Episode finished after 76 timesteps\n",
      "Episode finished after 100 timesteps\n",
      "Episode finished after 70 timesteps\n",
      "Episode finished after 122 timesteps\n",
      "Episode finished after 33 timesteps\n",
      " Episode 980 in 1000\n",
      "Episode finished after 30 timesteps\n",
      "Episode finished after 11 timesteps\n",
      "Episode finished after 36 timesteps\n",
      "Episode finished after 120 timesteps\n",
      "Episode finished after 104 timesteps\n",
      "Episode finished after 84 timesteps\n",
      "Episode finished after 95 timesteps\n",
      "Episode finished after 62 timesteps\n",
      "Episode finished after 83 timesteps\n",
      "Episode finished after 73 timesteps\n",
      " Episode 990 in 1000\n",
      "Episode finished after 28 timesteps\n",
      "Episode finished after 33 timesteps\n",
      "Episode finished after 24 timesteps\n",
      "Episode finished after 74 timesteps\n",
      "Episode finished after 52 timesteps\n",
      "Episode finished after 170 timesteps\n",
      "Episode finished after 83 timesteps\n",
      "Episode finished after 37 timesteps\n",
      "Episode finished after 38 timesteps\n",
      "Episode finished after 17 timesteps\n",
      " Episode 1000 in 1000\n",
      "Episode finished after 75 timesteps\n",
      "CartPole game iter average time is: 65.796\n"
     ]
    }
   ],
   "source": [
    "class SARSA():\n",
    "    def __init__(self, env, num_episodes, discount=1.0, alpha=0.5, epsilon=0.1, n_bins=10):\n",
    "        self.nA = env.action_space.n\n",
    "        self.nS = env.observation_space.shape[0]\n",
    "        self.env = env\n",
    "        self.num_episodes = num_episodes\n",
    "        self.discount = discount\n",
    "        self.alpha = alpha\n",
    "        self.epsilon = epsilon\n",
    "        self.Q = defaultdict(lambda: np.zeros(self.nA))\n",
    "        \n",
    "        # Keeps track of useful statistics\n",
    "        record = namedtuple(\"Record\", [\"episode_lengths\",\"episode_rewards\"])\n",
    "        self.rec = record(episode_lengths=np.zeros(num_episodes),\n",
    "                          episode_rewards=np.zeros(num_episodes))\n",
    "        \n",
    "        self.cart_position_bins = pd.cut([-2.4, 2.4], bins=n_bins, retbins=True)[1]\n",
    "        self.pole_angle_bins = pd.cut([-2, 2], bins=n_bins, retbins=True)[1]\n",
    "        self.cart_velocity_bins = pd.cut([-1, 1], bins=n_bins, retbins=True)[1]\n",
    "        self.angle_rate_bins = pd.cut([-3.5, 3.5], bins=n_bins, retbins=True)[1]\n",
    "        \n",
    "    def __get_bins_states(self, state):\n",
    "        \"\"\"\n",
    "        Case number of the sate is huge so in order to simplify the situation \n",
    "        cut the state sapece in to bins.\n",
    "        \n",
    "        if the state_idx is [1,3,6,4] than the return will be 1364\n",
    "        \"\"\"\n",
    "        s1_, s2_, s3_, s4_ = state\n",
    "        cart_position_idx = np.digitize(s1_, self.cart_position_bins)\n",
    "        pole_angle_idx = np.digitize(s2_, self.pole_angle_bins)\n",
    "        cart_velocity_idx = np.digitize(s3_, self.cart_velocity_bins)\n",
    "        angle_rate_idx = np.digitize(s4_, self.angle_rate_bins)\n",
    "        \n",
    "        state_ = [cart_position_idx, pole_angle_idx, \n",
    "                  cart_velocity_idx, angle_rate_idx]\n",
    "        \n",
    "        state = map(lambda s: int(s), state_)\n",
    "        return tuple(state)\n",
    "        \n",
    "    def __epislon_greedy_policy(self, epsilon, nA):\n",
    "\n",
    "        def policy(state):\n",
    "            A = np.ones(nA, dtype=float) * epsilon / nA\n",
    "            best_action = np.argmax(self.Q[state])\n",
    "            A[best_action] += (1.0 - epsilon)\n",
    "            return A\n",
    "\n",
    "        return policy\n",
    "\n",
    "    def __next_action(self, prob):\n",
    "        return np.random.choice(np.arange(len(prob)), p=prob)\n",
    "\n",
    "    def sarsa(self):\n",
    "        \"\"\"\n",
    "        SARSA algo\n",
    "        \"\"\"\n",
    "        policy = self.__epislon_greedy_policy(self.epsilon, self.nA)\n",
    "        sumlist = []\n",
    "\n",
    "        for i_episode in range(self.num_episodes):\n",
    "            if 0 == (i_episode+1) % 10:\n",
    "                print(\"\\r Episode {} in {}\".format(i_episode+1, self.num_episodes))\n",
    "                # sys.stdout.flush()\n",
    "\n",
    "            step = 0\n",
    "            state__ = self.env.reset()\n",
    "            state = self.__get_bins_states(state__)\n",
    "            prob_actions = policy(state)\n",
    "            action = self.__next_action(prob_actions)\n",
    "\n",
    "            # one step\n",
    "            while(True):\n",
    "                next_state__, reward, done, info = env.step(action)\n",
    "                next_state = self.__get_bins_states(next_state__)\n",
    "                \n",
    "                prob_next_actions = policy(next_state)\n",
    "                next_action = self.__next_action(prob_next_actions)\n",
    "\n",
    "                # update history record\n",
    "                self.rec.episode_lengths[i_episode] += reward\n",
    "                self.rec.episode_rewards[i_episode] = step\n",
    "                \n",
    "                # TD update\n",
    "                td_target = reward + self.discount * self.Q[next_state][next_action]\n",
    "                td_delta = td_target - self.Q[state][action]\n",
    "                self.Q[state][action] += self.alpha * td_delta\n",
    "\n",
    "                if done: \n",
    "                    reward = -200\n",
    "                    print(\"Episode finished after {} timesteps\".format(step))\n",
    "                    sumlist.append(step)\n",
    "                    break\n",
    "                else:\n",
    "                    step += 1\n",
    "                    state = next_state\n",
    "                    action = next_action\n",
    "                    \n",
    "        iter_time = sum(sumlist)/len(sumlist)\n",
    "        print(\"CartPole game iter average time is: {}\".format(iter_time))\n",
    "        return self.Q\n",
    "\n",
    "cls_sarsa = SARSA(env, num_episodes=1000)\n",
    "Q = cls_sarsa.sarsa()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1114e7b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1320e2e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "(<matplotlib.figure.Figure at 0x1114e7b8>,\n",
       " <matplotlib.figure.Figure at 0x1320e2e8>)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "\n",
    "def plot_episode_stats(stats, smoothing_window=10, noshow=False):\n",
    "    # Plot the episode length over time\n",
    "    fig1 = plt.figure(figsize=(10,5))\n",
    "    plt.plot(stats.episode_lengths[:200])\n",
    "    plt.xlabel(\"Episode\")\n",
    "    plt.ylabel(\"Episode Length\")\n",
    "    plt.title(\"Episode Length over Time\")\n",
    "    if noshow:\n",
    "        plt.close(fig1)\n",
    "    else:\n",
    "        plt.show(fig1)\n",
    "\n",
    "    # Plot the episode reward over time\n",
    "    fig2 = plt.figure(figsize=(10,5))\n",
    "    rewards_smoothed = pd.Series(stats.episode_rewards[:200]).rolling(smoothing_window, min_periods=smoothing_window).mean()\n",
    "    plt.plot(rewards_smoothed)\n",
    "    plt.xlabel(\"Episode\")\n",
    "    plt.ylabel(\"Episode Reward\")\n",
    "    plt.title(\"Episode Reward over Time\".format(smoothing_window))\n",
    "    if noshow:\n",
    "        plt.close(fig2)\n",
    "    else:\n",
    "        plt.show(fig2)\n",
    "\n",
    "    return fig1, fig2\n",
    "\n",
    "plot_episode_stats(cls_sarsa.rec)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
